package gov.pbc.nn.kjgl.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.hibernate.annotations.Index;

import com.bstek.dorado.annotation.PropertyDef;

import gov.pbc.nn.core.entity.BaseEntity;

/**
 * 任务管理
 */
@Entity
@Table(name = "T_PROJECT_TASK")
public class ProjectTask extends BaseEntity {

	private static final long serialVersionUID = 1L;

	@Column(name = "NAME_", length = 120)
	@PropertyDef(label = "任务名称", description = "任务名称")
	private String name;

	@Column(name = "CONTENT_", length = 500)
	@PropertyDef(label = "任务描述", description = "任务描述")
	private String content;

	@Column(name = "PERSON_", length = 120)
	@PropertyDef(label = "指定负责人Id", description = "指定负责人Id")
	@Index(name="INDEX_TASK_PERSON_")
	private String person;

	@Column(name = "PERSON_NAME_", length = 120)
	@PropertyDef(label = "指定负责人", description = "指定负责人")
	private String personName;

	@Column(name = "BEGIN_TIME_", length = 100)
	@PropertyDef(label = "计划开始时间", description = "计划开始时间")
	private Date beginTime;

	@Column(name = "END_TIME_", length = 100)
	@PropertyDef(label = "要求完成时间", description = "要求完成时间")
	private Date endTime;

	@Column(name = "PROGRESS_", length = 100)
	@PropertyDef(label = "进度百分比", description = "进度百分比")
	private Double progress;

	@Column(name = "OVER_TIME_", length = 100)
	@PropertyDef(label = "实际完成时间", description = "实际完成时间")
	private Date overTime;

	@Column(name = "ATTACHMENTS_", length = 600)
	@PropertyDef(label = "相关附件", description = "相关附件")
	private String attachments;

	@Column(name = "PROJECT_ID_", length = 60)
	@PropertyDef(label = "项目ID", description = "项目ID")
	@Index(name="INDEX_TASK_PROJECT_ID_")
	private String projectId;

	@Column(name = "PROJECT_STATE_", length = 20)
	@PropertyDef(label = "项目状态", description = "项目状态")
	private boolean projectState;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getPerson() {
		return person;
	}

	public void setPerson(String person) {
		this.person = person;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Double getProgress() {
		return progress;
	}

	public void setProgress(Double progress) {
		this.progress = progress;
	}

	public Date getOverTime() {
		return overTime;
	}

	public void setOverTime(Date overTime) {
		this.overTime = overTime;
	}

	public String getAttachments() {
		return attachments;
	}

	public void setAttachments(String attachments) {
		this.attachments = attachments;
	}

	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public boolean getProjectState() {
		return projectState;
	}

	public void setProjectState(boolean projectState) {
		this.projectState = projectState;
	}

	public String getPersonName() {
		return personName;
	}

	public void setPersonName(String personName) {
		this.personName = personName;
	}

}
